
class vec3:
    x=float
    y=float
    z=float

    def __init__(self, x, y, z):
        self.x = x
        self.y = y
        self.z = z

class vec2:
    x=float
    y=float

    def __init__(self, x, y):
        self.x = x
        self.y = y

class launch_type:
    LAUNCH_FILE = "LAUNCH_FILE"
    LAUNCH_COMPMODE = "LAUNCH_COMPMODE"
    LAUNCH_WGMODE = "LAUNCH_WGMODE"
    LAUNCH_GAUSSIAN = "LAUNCH_GAUSSIAN"
    LAUNCH_RECTANGLE = "LAUNCH_RECTANGLE"
    LAUNCH_MULTIMODE = "LAUNCH_MULTIMODE"
    LAUNCH_PLANEWAVE = "LAUNCH_PLANEWAVE"

class monitor_type:
    MONITOR_FILE_POWER = "MONITOR_FILE_POWER"
    MONITOR_FILE_PHASE = "MONITOR_FILE_PHASE"
    MONITOR_WGMODE_POWER = "MONITOR_WGMODE_POWER"
    MONITOR_WGMODE_PHASE = "MONITOR_WGMODE_PHASE"
    MONITOR_GAUSS_POWER = "MONITOR_GAUSS_POWER"
    MONITOR_GAUSS_PHASE = "MONITOR_GAUSS_PHASE"
    MONITOR_LAUNCH_POWER = "MONITOR_LAUNCH_POWER"
    MONITOR_LAUNCH_PHASE = "MONITOR_LAUNCH_PHASE"
    MONITOR_WG_POWER = "MONITOR_WG_POWER"
    MONITOR_TOTAL_POWER = "MONITOR_TOTAL_POWER"
    MONITOR_FIELD_NEFF = "MONITOR_FIELD_NEFF"
    MONITOR_FIELD_WIDTH = "MONITOR_FIELD_WIDTH"
    MONITOR_FIELD_HEIGHT = "MONITOR_FIELD_HEIGHT"

class monitor_component:
    COMPONENT_MINOR = "COMPONENT_MINOR"
    COMPONENT_MAJOR = "COMPONENT_MAJOR"
